package oprecocerto.entity;

import java.util.Date;

import oprecocerto.commom.Util;

import com.google.appengine.api.datastore.Entity;
import com.google.appengine.api.datastore.Key;
import com.google.appengine.api.datastore.KeyFactory;

public class Orcamento {

	public static void createOrUpdateOrcamento(String nomeCliente, String itemOrcado, String frete, String lucro, String comissao) {
		Entity orcamento = getSingleOrcamento(nomeCliente.concat(itemOrcado));
		if (orcamento == null) {
			orcamento = new Entity("Orcamento", nomeCliente.concat("-"+itemOrcado));
			orcamento.setProperty("nome", nomeCliente.concat("-"+itemOrcado));
			orcamento.setProperty("nomeCliente", nomeCliente);
			orcamento.setProperty("itemOrcado", itemOrcado);
			orcamento.setProperty("frete", frete);
			orcamento.setProperty("lucro", lucro);
			orcamento.setProperty("comissao", comissao);
			orcamento.setProperty("data", new Date());

		} else {
			if (nomeCliente != null && !"".equals(nomeCliente)) {
				orcamento.setProperty("nomeCliente", nomeCliente);
			}
			if (nomeCliente != null && !"".equals(nomeCliente)) {
				orcamento.setProperty("itemOrcado", itemOrcado);
			}
			if (nomeCliente != null && !"".equals(nomeCliente)) {
				orcamento.setProperty("frete", frete);
			}
			if (nomeCliente != null && !"".equals(nomeCliente)) {
				orcamento.setProperty("lucro", lucro);
			}
			if (nomeCliente != null && !"".equals(nomeCliente)) {
				orcamento.setProperty("comissao", comissao);
			}
			orcamento.setProperty("data", new Date());
		}
		Util.persistEntity(orcamento);
	}

	public static Iterable<Entity> getAllOrcamento() {
		Iterable<Entity> entities = Util.listEntities("Orcamento", null, null);
		return entities;
	}

	public static Iterable<Entity> getOrcamento(String nome) {
		Iterable<Entity> entities = Util
				.listEntities("Orcamento", "nome", nome);
		return entities;
	}

	public static Entity getSingleOrcamento(String nome) {
		Key key = KeyFactory.createKey("Orcamento", nome);
		return Util.findEntity(key);
	}
}
